package com.fortune.dao;

import com.fortune.dto.in.mTerminalDiscount.TerminalDiscountAddDto;
import com.fortune.dto.in.mTerminalDiscount.TerminalDiscountEditDto;
import com.fortune.dto.in.mTerminalDiscount.TerminalDiscountListDto;
import com.fortune.vo.terminalDiscount.MTerminalDiscount;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface MTerminalDiscountMgtDao {
    /**
     *优惠政策列表
     * @param companyId
     * @param terminalDiscountListDto
     * @return
     */
    List<MTerminalDiscount> queryTerminalDiscountList(@Param("companyId") String companyId, @Param("terminalDiscountListDto") TerminalDiscountListDto terminalDiscountListDto);

    /**
     *优惠政策列表个数
     * @param companyId
     * @param terminalDiscountListDto
     * @return
     */
    int queryTerminalDiscountListCount(@Param("companyId") String companyId, @Param("terminalDiscountListDto") TerminalDiscountListDto terminalDiscountListDto);

    /**
     * 查询优惠政策是否存在
     * @param companyId
     * @param name
     * @return
     */
    int queryTerminalDiscountCountByName(@Param("companyId") String companyId, @Param("name") String name);

    /**
     * 查时间重复
     */
    int findTime(@Param("mid")String mid,@Param("proId")String proId,@Param("startTime")Date startTime,@Param("endTime")Date endTime);

    int findTimes(@Param("mid")String mid,@Param("proId")String proId,@Param("startTime")Date startTime,@Param("endTime")Date endTime,@Param("id")String id);

    /**
     * 添加优惠政策
     * @param companyId
     * @param addDto
     * @return
     */
    int addTerminalDiscountCount(@Param("companyId") String companyId, @Param("addDto") TerminalDiscountAddDto addDto);

    /**
     * 删除优惠政策
     * @param companyId
     * @param id
     * @return
     */
    int deleteTerminalDiscountCount(@Param("companyId") String companyId, @Param("id") String id);

    /**
     * 编辑时查询是否存在
     * @param companyId
     * @param name
     * @param id
     * @return
     */
    int queryIsExist(@Param("companyId") String companyId, @Param("name") String name, @Param("id") String id);

    /**
     * 编辑优惠政策
     * @param companyId
     * @param editDto
     * @return
     */
    int editTerminalDiscountCount(@Param("companyId") String companyId, @Param("editDto") TerminalDiscountEditDto editDto);
}
